home *** CD-ROM | disk | FTP | other *** search
- MicroEMACS 3.11c for MS-Windows, update 1.1 by Pierre Perret
- =========================================== October 12, 1992
-
- INSTALLATION
- ------------
-
- Copy the files from the executable distribution package (MEW11.ZIP for
- Windows 3.1 or/and MEWN11.ZIP for Windows NT on i386) into the
- directory where you want the program to reside. If you want to use the
- MicroEMACS help file, copy it (MEWIN.HLP, from MEWH11.ZIP) in that same
- directory.
-
- Unlike previous version of MicroEMACS for Windows, update 1.1 can
- operate entirely without any specific profile entry in the WIN.INI file.
- On the other hand, if you want to deviate from the installation
- recommended above, you may have to edit the WIN.INI file. For more
- information on this, consult the "Profiles" topic (within the "Start-up"
- chapter) in the MEWIN.HLP help file and copy/paste the relevant parts
- from the EMACS.INI file.
-
- After installation is complete, the EMACS.INI, PACKAGES.LST and README
- files are no longer needed and can be deleted.
-
- If you install both the Windows 3.x and Windows NT packages in the same
- directory, note that the files that bear the same name in both packages
- are exact duplicates.
-
- Special Cases
- -------------
-
- This program can run under Windows 3.0 (retail version), 3.1 (retail or
- debugging versions) or Windows NT. Because it contains references to
- system DLL entries that are not present under Windows 3.0, it cannot run
- under the debugging version of Windows 3.0. Further more, under Windows
- 3.0, there needs to be a Dynamic Link Library named SHELL.DLL lying
- around for the loading of the program to complete.
-
- The macro files EMACS.RC and MDI.CMD are setup for Super VGA displays
- that can accomodate a text width of at least 100 character. If your
- display is VGA-size (or a laptop screen), you can replace 80 by 75 in
- the line (in MDI.CMD):
- set %scrwidth 80
- Also, delete or comment-out the line (in EMACS.RC):
- 100 change-screen-width
- and add the lines:
- [MicroEMACS]
- InitialSize=optimized
- in your WIN.INI file.
-
- The EMACS.RC, CUA.CMD, MDI.CMD and DEV.CMD macro files are made a part
- of this package as example of how macros can be used to customize
- MicroEMACS. A simple way to add your own macros is to put them in a file
- called CUSTOM.CMD (this file, if it exists, is invoked by EMACS.RC).
-
- OTHER FILES:
- -----------
-
- As mentionned above, a help file (packaged in MEWH11.ZIP) is available
- for this version of MicroEMACS for Windows.
-
- The sources for this port are publicly available. They are packaged in a
- file named MEWS11.ZIP. Also available but possibly less widely
- distributed are the help file's RTF-format sources (in MEWR11.ZIP).
-
- Other (non MS-Windows) versions of MicroEMACS normally comes with
- documentation and a bunch of scripts (aka macros or "command files").
- They are not supplied in this distribution package, but are available
- separately. The files for release 3.11 are the ones you may want and
- they are available from a number of sources, including:
-
- - COMPUSERVE, forum IBMAPP, library 1 for the executables (UE311I.EXE),
- official 3.11 release readme file (UE311.TXT), reference manual
- (UE311D.ZIP) and macros (UE311M.ZIP). forum IBMPRO, library 3 for the
- official 3.11 sources (UE311C.ZIP, UE311H.ZIP and UE311K.ZIP).
-
- - BIX, in the editors conference's listing area.
-
- - various Internet hosts among which wuarchive and simtel20.
-
- - The Programmer's Room BBS (see below)
-
- PREVIOUS VERSIONS
- -----------------
-
- This program was originally born as a port of MicroEMACS to Windows 3.0
- which was released as MEWIN 1.0 in April 1992, also with the full C
- source, but without a help file.
-
- Since then, a few intermediate updates (mainly 1.0b and 1.0e) have
- been made public (without sources).
-
- HOW TO REPORT PROBLEMS OR SUBMIT SUGGESTIONS
- --------------------------------------------
-
- The prefered way to reach me to discuss about this program is through
- CompuServe, in the WINADV forum or on BIX in the editors conference, in
- the emacs topic. My CompuServe ID is 73757,2337 and my BIX Id is
- pierre_perret. You can also send Email directly to those accounts, but
- forum/conference transactions have the advantage of being viewable by
- others.
-
- If you do not use CompuServe or BIX, but have Internet access, you can
- exchange Internet mail with me by sending it to P.Perret@az05.bull.com
-
- Other channels include:
-
- - Phone:
- (602) 862-5448 at my office (9am - 5pm)
- (Note: hours given for Mountain Standard Time, no daylight savings)
-
- - US mail: Pierre Perret
- 4326 W Michigan Avenue
- Glendale Az 85308
-
- - The Programmer's Room BBS at (317) 742-5533 (300/1200/2400 and 9600
- [Hayes V series only], no parity, 8 databits, no stop bits). However,
- since this is a long distance call for me, I do not check-in very often.
- I am registered under my real name (Pierre Perret).
-
- Please note that I am the author of this Windows port, not the author of
- MicroEMACS itself. Problems that also occur with the standard 3.11c
- editor should be reported to Dan Lawrence on the Programmer's Room BBS.
-
- USAGE NOTES
- -----------
-
- In doing this port, I have tried to preserve as much as possible the
- MicroEMACS way of doing things, for the sake of minimizing changes in
- the editor core...
-
- VOCABULARY:
-
- MicroEMACS calls "screens" what really should be called "MDI windows"
- and calls "windows" what should be called "panes". Changing those
- definitions in the Windows implementation would impact all the commands
- that deal with "screens" and "windows" and would therefore break most
- macros.
-
- INPUT TO THE MESSAGE LINE:
-
- Depending on the particular command that requested such input,
- MicroEMACS implements varying character handling methods that are
- definitely not CUA-compliant.
-
- TEXT SELECTION:
-
- Contrary to CUA standards, selections are not highlited (this will
- be implemented in a future version of the base MicroEMACS editor).
-
- MOUSE HANDLING:
-
- Due to its mainframe heritage, and also it's capability to redefine
- mouse behavior by macros, Emacs' mouse handling differs significantly
- from that of other Windows applications (called CUA-compliant).
-
- The CUA.CMD file included with this package, loaded by the included
- EMACS.RC, contains macros that modify the standard MicroEMACS mouse
- bindings to provide a CUA-like interface.
-
- CURRENT WORKING DIRECTORY:
-
- The current working directory and selected drive is always set to the
- file path associated with the current "window". If that path is not an
- absolute one, it is dependant upon the previously visited directory
- paths (including the directory field that appeared in a file dialog box,
- even if the operation was cancelled).
-
- FEATURES OF THIS WINDOWS PORT (over what is standard in MicroEMACS 3.11c)
- -----------------------------
-
- MENUS:
-
- I have put most of the functions available in MicroEMACS into a set of
- menus (some with nested popups). There are a few MicroEMACS functions
- that would not make much sense in a menu and have therefore been
- excluded. A few menu items have no equivalent function in the MicroEMACS
- macro language.
- In addition to the standard Windows convention of appending an ellipsis
- to menus items that beget a dialog box, I have used the following: a
- colon is appended to menus items that require a user response on the
- message line and an equal sign is inserted in front of items that
- require an argument to have been entered (by META + digits).
-
- Key bindings are displayed in the menus, using the Windows format for
- key descriptions instead of the MicroEMACS format (which, for some
- function keys, can be quite cryptic).
-
- Some menu items may appear grayed if the context is such that they are
- unuseable.
-
- ALT KEY HANDLING:
-
- In Windows applications, the Alt key can be used in combination with a
- letter or digit to pull down a menu from the menu bar. In MicroEMACS,
- bindings have the priority over those menu bar accelerators. Thus, if
- there is a conflict between a menu-bar accelerator and an emacs binding,
- the accelerator looses. On the other hand, trying to create a new
- binding interactively by simply invoking bind-to-key or macro-to-key
- will not be possible if the desired binding matches a menu-bar
- accelerator.
- Note that a menu can still be invoked from the keyboard, even when the
- accelerator conflict with a binding, by pressing AND releasing the Alt
- key and THEN hitting the accelerator character.
-
- "NOT QUIESCENT" STATE:
-
- If a macro is executing, most menu selections cannot be processed (the
- editor is said to be in the "not quiescent" state) because a lot of
- MicroEMACS functions are not quite reentrant. This is reflected by a
- change of the mouse cursor from a pointing finger to a color-inverting
- arrow.
-
- $SRES VARIABLE:
-
- To allow Windows-aware macros, the $sres is set to "MSWIN" and cannot
- be modified (trying to set it has no effect, but it returns no error).
-
- NEW MICROEMACS VARIABLES:
-
- $hscrlbar
- $vscrlbar
-
- These two boolean variables control the presence of scrollbars
- (horizontal and vertical)
-
- NEW MICROEMACS COMMANDS:
-
- tile-screens
- cascade-screens
- minimize-screen
- maximize-screen
-
- These commands allow shuffling of screens (aka MDI windows) from
- EMACS macros.
-
- rename-screen
-
- This one allows you to change the name of the current screen (that
- type of command is not of much use under the other versions of EMACS
- since screen names are rarely displayed).
-
- clip-region
- cut-region
- insert-clip
-
- These supplement copy-region, kill-region and yank, but instead of
- addressing the kill buffer, they address the Windows clipboard.
-
- bind-to-menu
- macro-to-menu
- unbind-menu
-
- These functions allow dynamic modification of the menus. An example
- of their use appears in the EMACS.RC sample start-up file.
-
- help-engine
-
- This allows a macro to invoke the Windows Help engine. Look for
- an example in the supplied EMACS.RC.
-
- DRAG AND DROP SUPPORT:
-
- The key sequence MS! is produced when files are dragged and dropped onto
- MicroEMACS. It initially not associated to any command and should be
- bound to a macro that handles the drag and drop action. In order for the
- macro to acquire the files that were dropped, an invisible buffer named
- "Dropped files" is filled with the following data:
- first line: name of the screen on which the drop occured (or empty
- line if the drop was not done on any screen)
- other lines: pathnames, one per line, of the dropped files
-
- In addition, the $xpos and $ypos variables are set to the coordinates
- where the drop occured (or 255 if the drop was not done on any screen).
-
- The MDI.CMD file contains a macro that handles file dropping.
-
- LONG OPERATIONS:
-
- When performing long operations (macros with loops, searches, file
- IOs...), MicroEMACS checks for user input regularly (see the TimeSlice
- profile value in EMACS.INI): during these periods, a few menu options
- are still available, among which quitting (Exit in File menu or Close in
- system menu). Note that if the user attempts to quit while a file is
- being written out, a confirmation is required (the same happens if there
- are changed buffers).
-
- MicroEMACS cannot ignore typeahead while a lengthy operation is in
- process. One particular side effect of this is that if you do a ^X^F
- (find-file) followed by <name_of_file><RC> while a lengthy operation is
- going on, MicroEMACS absorbs those keystrokes and has to refeed them
- into the "Find file" dialog box when it eventually pops up. I have
- implemented a mechanism for dealing with this, but it handles only
- simple ASCII characters and just throws away any other keystroke (for
- instance, arrow keys are not forwarded to the dialog box).
-
- FONTS:
-
- The Font item in the Screen menu brings up a dialog box that allows the
- user to select a fixed font to be used. This font description can be
- saved in WIN.INI so that subsequent invokations of MicroEMACS use it at
- startup.
-
- LOCAL AND GLOBAL MODES:
-
- The Mode and Global mode items of the File menu bring up dialog boxes
- that offer a user-friendly way of setting the CMODE, VIEW, EXACT, MAGIC,
- etc... modes.
-
- FILE DIALOG BOX:
-
- Instead of using a message line interface with attempted completion of
- file names, this program pops up a dialog box whenever a filename has to
- be supplied by the user. This is an attempt at CUA compliance. It also
- has the side effect of supplying the editor with fully qualified
- pathnames. A handy filename completion feature has been implemented as
- well, with the addition of auto-scrolling of the filename list: if you
- type only the beginning of a file name, up to a point were there is no
- ambiguity, hitting the spacebar orders MicroEMACS to complete the
- filename for you and OK the dialog.
-
- HELP SYSTEM:
-
- The first four items in the Help menu load the MEWIN.HLP help file into
- the Windows help engine. The information in that help file is fairly
- exhaustive and, in particular, covers the MicroEMACS macro language in
- detail.
-
- ------------------------------------------------------------------------
-
- Disclaimer and copyright:
- ------------------------
-
- This program is supplied without waranties of any kind. Neither I
- (Pierre Perret), nor the author and copyright owner of MicroEMACS
- (Daniel M. Lawrence), can be held responsible or liable for any damage
- caused by the use of this program.
-
- In short: USE AT YOUR OWN RISK.
-
- (C)Copyright 1988, 1989, 1990, 1991, 1992 by Daniel M. Lawrence
- MicroEMACS 3.11 can be copied and distributed freely for any
- non-commercial purposes. Commercial users may use MicroEMACS
- 3.11 inhouse. MicroEMACS 3.11 can only be incorporated into
- commercial software or resold with the permission of the
- current author:
-
- Daniel M. Lawrence
- 617 New York St
- Lafayette, IN 47901
-
- Shareware distributors are hereby authorised to redistribute
- version (1.1) of MicroEMACS for Windows.
-
- ------------------------------------------------------------------------
-